package cn.kgm.template.server.struct;

import cn.kgm.template.dto.dto.TemplateConfigSaveDTO;
import cn.kgm.template.dto.dto.TemplateConfigUpdateDTO;
import cn.kgm.template.dto.query.TemplateConfigPageQuery;
import cn.kgm.template.dto.vo.TemplateConfigVO;
import cn.kgm.template.server.entity.TemplateConfig;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * 活动模板配置表
 *
 * @author kapp-i
 * @date 2024-03-18 14:47:46
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface TemplateConfigMappers {
    TemplateConfigMappers INSTANCE = Mappers.getMapper(TemplateConfigMappers.class);

    /**
     * 将 TemplateConfigSaveDTO 映射成 TemplateConfig 对象
     *
     * @param source 源对象
     * @return TemplateConfig
     */
    TemplateConfig mapToEntity(TemplateConfigSaveDTO source);

    /**
     * 将 TemplateConfigUpdateDTO 映射成 TemplateConfig 对象
     *
     * @param source 源对象
     * @return TemplateConfig
     */
    TemplateConfig mapToEntity(TemplateConfigUpdateDTO source);

    /**
     * TemplateConfigPageQuery 映射成 TemplateConfig 对象
     *
     * @param source 源对象
     * @return TemplateConfig
     */
    TemplateConfig mapToEntity(TemplateConfigPageQuery source);

    /**
     * TemplateConfigPageQuery 映射成 TemplateConfig 对象
     *
     * @param source 源对象
     * @return TemplateConfigVO
     */
    TemplateConfigVO mapToEntity(TemplateConfig source);

}
